---
description: Hasura Metadata API reference
keywords:
  - hasura
  - docs
  - Metadata API
  - API reference
slug: index
---

# Metadata API Reference

## Introduction

The Metadata API is primarily intended to be used as an `admin` API to manage the Hasura Metadata.

:::tip Supported from

The Metadata API is supported for versions `v2.0.0` and above and replaces the older
[schema/Metadata API](/api-reference/schema-metadata-api/index.mdx).

:::

## Endpoint

All requests are `POST` requests to the `/v1/metadata` endpoint.

## Request structure

```http
POST /v1/metadata HTTP/1.1

{
   "type": <query-type>,
   "version": <Integer> (optional),
   "resource_version": <Integer> (optional),
   "args": <args-object>
}
```

The structure of args depends on the type and version.

### Request body

<div className="parsed-literal">

<pre>
  <code>
    <a href="#metadata-query">Query</a>
  </code>
</pre>

</div>

#### Query {#metadata-query}

| Key              | Required | Schema     | Description                                                    |
| ---------------- | -------- | ---------- | -------------------------------------------------------------- |
| type             | true     | String     | Type of the query                                              |
| resource_version | false    | Integer    | Version of the resource that you are targeting for replacement |
| args             | true     | JSON Value | The arguments to the query                                     |
| version          | false    | Integer    | Version of the API (inferred by args structure)                |

## Request types

The various types of queries are listed in the following table:

<div className="api-metadata-request-type-table">

| `type`                                                                                                                                                     | `args`                                                                                                                                                                 | `version` | Synopsis                                                                                                                                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **bulk**                                                                                                                                                   | [Query](#metadata-query) array                                                                                                                                         | 1         | Execute multiple operations in a single query                                                                                                   |
| **bulk_atomic**                                                                                                                                            | [Query](#metadata-query) array                                                                                                                                         | 1         | Execute multiple operations in a single **transaction**. Currently only supports logical model and native query tracking/untracking operations. |
| **concurrent_bulk**                                                                                                                                        | [Query](#metadata-query) array                                                                                                                                         | 2         | Execute multiple **read only** operations in a single **transaction**                                                                           |
| **bulk_keep_going**                                                                                                                                        | [Query](#metadata-query) array                                                                                                                                         | 1         | Like `bulk`, but subcommands can fail without the whole batch failing                                                                           |
| [pg_add_source](/api-reference/metadata-api/source.mdx#metadata-pg-add-source)                                                                             | [pg_add_source_args](/api-reference/metadata-api/source.mdx#metadata-pg-add-source-syntax)                                                                             | 1         | Add a Postgres database                                                                                                                         |
| [pg_drop_source](/api-reference/metadata-api/source.mdx#metadata-pg-drop-source)                                                                           | [pg_drop_source_args](/api-reference/metadata-api/source.mdx#metadata-pg-drop-source-syntax)                                                                           | 1         | Remove a Postgres database                                                                                                                      |
| [pg_get_source_tables](/api-reference/metadata-api/source.mdx#metadata-pg-get-source-tables)                                                               | [pg_get_source_tables_args](/api-reference/metadata-api/source.mdx#metadata-pg-get-source-tables-syntax)                                                               | 1         | List all tables available on a given Postgres database                                                                                          |
| [pg_track_table](/api-reference/metadata-api/table-view.mdx#metadata-pg-track-table)                                                                       | [pg_track_table_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-track-table-syntax)                                                                       | 1         | Add a Postgres table/view with configuration                                                                                                    |
| [pg_track_tables](/api-reference/metadata-api/table-view.mdx#metadata-pg-track-tables)                                                                     | [pg_track_tables_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-track-tables-syntax)                                                                     | 1         | Add multiple Postgres tables/views with configuration                                                                                           |
| [pg_untrack_table](/api-reference/metadata-api/table-view.mdx#metadata-pg-untrack-table)                                                                   | [pg_untrack_table_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-untrack-table-syntax)                                                                   | 1         | Remove a Postgres table/view                                                                                                                    |
| [pg_untrack_tables](/api-reference/metadata-api/table-view.mdx#metadata-pg-untrack-tables)                                                                 | [pg_untrack_tables_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-untrack-tables-syntax)                                                                 | 1         | Remove multiple Postgres tables/views                                                                                                           |
| [pg_update_source](/api-reference/metadata-api/source.mdx#metadata-pg-update-source)                                                                       | [pg_update_source_args](/api-reference/metadata-api/source.mdx#metadata-pg-update-source-syntax)                                                                       | 1         | Update a Postgres database                                                                                                                      |
| [pg_set_table_customization](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-table-customization)                                               | [pg_set_table_customization_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-table-customization-syntax)                                               | 1         | Set table customization of an already tracked Postgres table                                                                                    |
| [pg_set_table_is_enum](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-table-is-enum)                                                           | [pg_set_table_is_enum_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-table-is-enum-syntax)                                                           | 1         | Set a tracked Postgres table as an enum table                                                                                                   |
| [pg_track_function](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-track-function)                                                           | [pg_track_function_args](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-track-function-syntax)                                                           | 1         | Add a Postgres SQL function with configuration                                                                                                  |
| [pg_untrack_function](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-untrack-function)                                                       | [pg_untrack_function_args](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-untrack-function-syntax)                                                       | 1         | Remove a Postgres SQL function                                                                                                                  |
| [pg_set_function_customization](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-set-function-customization)                                   | [pg_set_function_customization_args](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-set-function-customization-syntax)                                   | 1         | Set function customization of an already tracked Postgres function                                                                              |
| [pg_create_function_permission](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-create-function-permission)                                   | [pg_create_function_permission_args](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-create-function-permission-syntax)                                   | 1         | Create a Postgres function permission                                                                                                           |
| [pg_drop_function_permission](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-drop-function-permission)                                       | [pg_drop_function_permission_args](/api-reference/metadata-api/custom-functions.mdx#metadata-pg-drop-function-permission-syntax)                                       | 1         | Drop an existing Postgres function permission                                                                                                   |
| [pg_create_object_relationship](/api-reference/metadata-api/relationship.mdx#metadata-pg-create-object-relationship)                                       | [pg_create_object_relationship_args](/api-reference/metadata-api/relationship.mdx#metadata-pg-create-object-relationship-syntax)                                       | 1         | Define a new object relationship between Postgres tables/views                                                                                  |
| [pg_create_array_relationship](/api-reference/metadata-api/relationship.mdx#metadata-pg-create-array-relationship)                                         | [pg_create_array_relationship_args](/api-reference/metadata-api/relationship.mdx#metadata-pg-create-array-relationship-syntax)                                         | 1         | Define a new array relationship between Postgres tables/views                                                                                   |
| [pg_drop_relationship](/api-reference/metadata-api/relationship.mdx#metadata-pg-drop-relationship)                                                         | [pg_drop_relationship_args](/api-reference/metadata-api/relationship.mdx#metadata-pg-drop-relationship-syntax)                                                         | 1         | Drop an existing Postgres relationship                                                                                                          |
| [pg_rename_relationship](/api-reference/metadata-api/relationship.mdx#metadata-pg-rename-relationship)                                                     | [pg_rename_relationship_args](/api-reference/metadata-api/relationship.mdx#metadata-pg-rename-relationship-syntax)                                                     | 1         | Modify name of an existing Postgres relationship                                                                                                |
| [pg_set_relationship_comment](/api-reference/metadata-api/relationship.mdx#metadata-pg-set-relationship-comment)                                           | [pg_set_relationship_comment_args](/api-reference/metadata-api/relationship.mdx#metadata-pg-set-relationship-comment-syntax)                                           | 1         | Set comment on an existing Postgres relationship                                                                                                |
| [pg_add_computed_field](/api-reference/metadata-api/computed-field.mdx#metadata-pg-add-computed-field)                                                     | [pg_add_computed_field_args](/api-reference/metadata-api/computed-field.mdx#metadata-pg-add-computed-field-syntax)                                                     | 1         | Add a computed field to a Postgres table/view                                                                                                   |
| [pg_drop_computed_field](/api-reference/metadata-api/computed-field.mdx#metadata-pg-drop-computed-field)                                                   | [pg_drop_computed_field_args](/api-reference/metadata-api/computed-field.mdx#metadata-pg-drop-computed-field-syntax)                                                   | 1         | Drop a Postgres computed field                                                                                                                  |
| [pg_create_insert_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-create-insert-permission)                                             | [pg_create_insert_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-create-insert-permission-syntax)                                             | 1         | Specify insert permission for a Postgres table/view                                                                                             |
| [pg_drop_insert_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-insert-permission)                                                 | [pg_drop_insert_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-insert-permission-syntax)                                                 | 1         | Remove existing insert permission for a Postgres table/view                                                                                     |
| [pg_create_select_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-create-select-permission)                                             | [pg_create_select_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-create-select-permission-syntax)                                             | 1         | Specify select permission for a Postgres table/view                                                                                             |
| [pg_drop_select_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-select-permission)                                                 | [pg_drop_select_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-select-permission-syntax)                                                 | 1         | Remove existing select permission for a Postgres table/view                                                                                     |
| [pg_create_update_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-create-update-permission)                                             | [pg_create_update_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-create-update-permission-syntax)                                             | 1         | Specify update permission for a Postgres table/view                                                                                             |
| [pg_drop_update_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-update-permission)                                                 | [pg_drop_update_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-update-permission-syntax)                                                 | 1         | Remove existing update permission for a Postgres table/view                                                                                     |
| [pg_create_delete_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-create-delete-permission)                                             | [pg_create_delete_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-create-delete-permission-syntax)                                             | 1         | Specify delete permission for a Postgres table/view                                                                                             |
| [pg_drop_delete_permission](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-delete-permission)                                                 | [pg_drop_delete_permission_args](/api-reference/metadata-api/permission.mdx#metadata-pg-drop-delete-permission-syntax)                                                 | 1         | Remove existing delete permission for a Postgres table/view                                                                                     |
| [pg_set_permission_comment](/api-reference/metadata-api/permission.mdx#metadata-pg-set-permission-comment)                                                 | [pg_set_permission_comment_args](/api-reference/metadata-api/permission.mdx#metadata-pg-set-permission-comment-syntax)                                                 | 1         | Set comment on an existing permission for a Postgres table/view                                                                                 |
| [pg_create_event_trigger](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-create-event-trigger)                                                 | [pg_create_event_trigger_args](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-create-event-trigger-syntax)                                                 | 1         | Create or replace an Event Trigger on a Postgres table                                                                                          |
| [pg_delete_event_trigger](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-delete-event-trigger)                                                 | [pg_delete_event_trigger_args](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-delete-event-trigger-syntax)                                                 | 1         | Delete an existing Event Trigger on a Postgres table                                                                                            |
| [pg_redeliver_event](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-redeliver-event)                                                           | [pg_redeliver_event_args](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-redeliver-event-syntax)                                                           | 1         | Redeliver an existing event on a Postgres table                                                                                                 |
| [pg_invoke_event_trigger](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-invoke-event-trigger)                                                 | [pg_invoke_event_trigger_args](/api-reference/metadata-api/event-triggers.mdx#metadata-pg-invoke-event-trigger-syntax)                                                 | 1         | Invoke a trigger with custom payload on a Postgres table                                                                                        |
| [pg_set_apollo_federation_config](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-apollo-federation-config)                                     | [pg_set_apollo_federation_config_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-set-apollo-federation-config-syntax)                                     | 1         | Set Apollo Federation configuration of an already tracked postgres table                                                                        |
| [pg_test_connection_template](/api-reference/metadata-api/table-view.mdx#metadata-pg-test-connection-template)                                             | [pg_test_connection_template_args](/api-reference/metadata-api/table-view.mdx#metadata-pg-test-connection-template-syntax)                                             | 1         | Test connection template                                                                                                                        |
| [pg_track_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-pg-track-logical-model)                                                   | [pg_track_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-pg-track-logical-model-syntax)                                                   | 1         | Add a Logical Model                                                                                                                             |
| [pg_untrack_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-pg-untrack-logical-model)                                               | [pg_untrack_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-pg-untrack-logical-model-syntax)                                               | 1         | Remove a Logical Model                                                                                                                          |
| [pg_create_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-pg-create-logical-model-select-permission)             | [pg_create_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-pg-create-logical-model-select-permission-syntax)             | 1         | Add select permissions for a Logical Model                                                                                                      |
| [pg_drop_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-pg-drop-logical-model-select-permission)                 | [pg_drop_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-pg-drop-logical-model-select-permission-syntax)                 | 1         | Remove select permissions for a Logical Model                                                                                                   |
| [pg_track_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-pg-track-native-query)                                                     | [pg_track_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-pg-track-native-query-syntax)                                                     | 1         | Add a Native Query                                                                                                                              |
| [pg_untrack_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-pg-untrack-native-query)                                                 | [pg_untrack_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-pg-untrack-native-query-syntax)                                                 | 1         | Remove a Native Query                                                                                                                           |
| [bigquery_track_table](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-track-table)                                                           | [bigquery_track_table_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-track-table-syntax)                                                           | 1         | Add a BigQuery table/view with configuration                                                                                                    |
| [bigquery_track_tables](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-track-tables)                                                         | [bigquery_track_tables_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-track-tables-syntax)                                                         | 1         | Add multiple BigQuery tables/views with configuration                                                                                           |
| [bigquery_untrack_table](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-untrack-table)                                                       | [bigquery_untrack_table_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-untrack-table-syntax)                                                       | 1         | Remove a BigQuery table/view                                                                                                                    |
| [bigquery_untrack_tables](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-untrack-tables)                                                     | [bigquery_untrack_tables_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-untrack-tables-syntax)                                                     | 1         | Remove multiple BigQuery tables/views                                                                                                           |
| [bigquery_set_table_customization](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-set-table-customization)                                   | [bigquery_set_table_customization_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-set-table-customization-syntax)                                   | 1         | Set table customization of an already tracked BigQuery table                                                                                    |
| [bigquery_add_computed_field](/api-reference/metadata-api/computed-field.mdx#metadata-bigquery-add-computed-field)                                         | [bigquery_add_computed_field_args](/api-reference/metadata-api/computed-field.mdx#metadata-bigquery-add-computed-field-syntax)                                         | 1         | Add a computed field to a BigQuery table                                                                                                        |
| [bigquery_drop_computed_field](/api-reference/metadata-api/computed-field.mdx#metadata-bigquery-drop-computed-field)                                       | [bigquery_drop_computed_field_args](/api-reference/metadata-api/computed-field.mdx#metadata-bigquery-drop-computed-field-syntax)                                       | 1         | Drop a BigQuery computed field                                                                                                                  |
| [bigquery_set_apollo_federation_config](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-set-apollo-federation-config)                         | [bigquery_set_apollo_federation_config_args](/api-reference/metadata-api/table-view.mdx#metadata-bigquery-set-apollo-federation-config-syntax)                         | 1         | Set Apollo Federation configuration of an already tracked bigquery table                                                                        |
| [bigquery_track_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-track-logical-model)                                       | [bigquery_track_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-track-logical-model-syntax)                                       | 1         | Add a Logical Model                                                                                                                             |
| [bigquery_untrack_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-untrack-logical-model)                                   | [bigquery_untrack_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-untrack-logical-model-syntax)                                   | 1         | Remove a Logical Model                                                                                                                          |
| [bigquery_create_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-create-logical-model-select-permission) | [bigquery_create_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-create-logical-model-select-permission-syntax) | 1         | Add select permissions for a Logical Model                                                                                                      |
| [bigquery_drop_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-drop-logical-model-select-permission)     | [bigquery_drop_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-bigquery-drop-logical-model-select-permission-syntax)     | 1         | Remove select permissions for a Logical Model                                                                                                   |
| [bigquery_track_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-bigquery-track-native-query)                                         | [bigquery_track_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-bigquery-track-native-query-syntax)                                         | 1         | Add a Native Query                                                                                                                              |
| [bigquery_untrack_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-bigquery-untrack-native-query)                                     | [bigquery_untrack_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-bigquery-untrack-native-query-syntax)                                     | 1         | Remove a Native Query                                                                                                                           |
| [mssql_add_source](/api-reference/metadata-api/source.mdx#mssql-add-source)                                                                                | [mssql_add_source_args](/api-reference/metadata-api/source.mdx#mssql-add-source-syntax)                                                                                | 1         | Add an MS SQL Server database                                                                                                                   |
| [mssql_drop_source](/api-reference/metadata-api/source.mdx#mssql-drop-source)                                                                              | [mssql_drop_source_args](/api-reference/metadata-api/source.mdx#mssql-drop-source-syntax)                                                                              | 1         | Remove an MS SQL Server database                                                                                                                |
| [mssql_get_source_tables](/api-reference/metadata-api/source.mdx#mssql-get-source-tables)                                                                  | [mssql_get_source_tables_args](/api-reference/metadata-api/source.mdx#mssql-get-source-tables-syntax)                                                                  | 1         | List all tables available on a given MS SQL Server database                                                                                     |
| [mssql_track_table](/api-reference/metadata-api/table-view.mdx#mssql-track-table)                                                                          | [mssql_track_table_args](/api-reference/metadata-api/table-view.mdx#mssql-track-table-syntax)                                                                          | 1         | Add an MS SQL Server table/view with configuration                                                                                              |
| [mssql_track_tables](/api-reference/metadata-api/table-view.mdx#mssql-track-tables)                                                                        | [mssql_track_tables_args](/api-reference/metadata-api/table-view.mdx#mssql-track-tables-syntax)                                                                        | 1         | Add multiple MS SQL Server tables/views with configuration                                                                                      |
| [mssql_untrack_table](/api-reference/metadata-api/table-view.mdx#mssql-untrack-table)                                                                      | [mssql_untrack_table_args](/api-reference/metadata-api/table-view.mdx#mssql-untrack-table-syntax)                                                                      | 1         | Remove an MS SQL Server table/view                                                                                                              |
| [mssql_untrack_tables](/api-reference/metadata-api/table-view.mdx#mssql-untrack-tables)                                                                    | [mssql_untrack_tables_args](/api-reference/metadata-api/table-view.mdx#mssql-untrack-tables-syntax)                                                                    | 1         | Remove multiple MS SQL Server tables/views                                                                                                      |
| [mssql_update_source](/api-reference/metadata-api/source.mdx#mssql-update-source)                                                                          | [mssql_update_source_args](/api-reference/metadata-api/source.mdx#mssql-update-source-syntax)                                                                          | 1         | Update an MS SQL Server database                                                                                                                |
| [mssql_create_object_relationship](/api-reference/metadata-api/relationship.mdx#mssql-create-object-relationship)                                          | [mssql_create_object_relationship_args](/api-reference/metadata-api/relationship.mdx#mssql-create-object-relationship-syntax)                                          | 1         | Define a new object relationship between MS SQL Server tables/views                                                                             |
| [mssql_create_array_relationship](/api-reference/metadata-api/relationship.mdx#mssql-create-array-relationship)                                            | [mssql_create_array_relationship_args](/api-reference/metadata-api/relationship.mdx#mssql-create-array-relationship-syntax)                                            | 1         | Define a new array relationship between MS SQL Server tables/views                                                                              |
| [mssql_drop_relationship](/api-reference/metadata-api/relationship.mdx#mssql-drop-relationship)                                                            | [mssql_drop_relationship_args](/api-reference/metadata-api/relationship.mdx#mssql-drop-relationship-syntax)                                                            | 1         | Drop an existing MS SQL Server relationship                                                                                                     |
| [mssql_rename_relationship](/api-reference/metadata-api/relationship.mdx#mssql-rename-relationship)                                                        | [mssql_rename_relationship_args](/api-reference/metadata-api/relationship.mdx#mssql-rename-relationship-syntax)                                                        | 1         | Modify name of an existing MS SQL Server relationship                                                                                           |
| [mssql_set_relationship_comment](/api-reference/metadata-api/relationship.mdx#mssql-set-relationship-comment)                                              | [mssql_set_relationship_comment_args](/api-reference/metadata-api/relationship.mdx#mssql-set-relationship-comment-syntax)                                              | 1         | Set comment on an existing MS SQL Server relationship                                                                                           |
| [mssql_set_table_customization](/api-reference/metadata-api/table-view.mdx#mssql-set-table-customization)                                                  | [mssql_set_table_customization_args](/api-reference/metadata-api/table-view.mdx#mssql-set-table-customization-syntax)                                                  | 1         | Set table customization of an already tracked MS SQL Server table                                                                               |
| [mssql_create_insert_permission](/api-reference/metadata-api/permission.mdx#mssql-create-insert-permission)                                                | [mssql_create_insert_permission_args](/api-reference/metadata-api/permission.mdx#mssql-create-insert-permission-syntax)                                                | 1         | Specify insert permission for an MS SQL Server table/view                                                                                       |
| [mssql_drop_insert_permission](/api-reference/metadata-api/permission.mdx#mssql-drop-insert-permission)                                                    | [mssql_drop_insert_permission_args](/api-reference/metadata-api/permission.mdx#mssql-drop-insert-permission-syntax)                                                    | 1         | Remove existing insert permission for an MS SQL Server table/view                                                                               |
| [mssql_create_select_permission](/api-reference/metadata-api/permission.mdx#mssql-create-select-permission)                                                | [mssql_create_select_permission_args](/api-reference/metadata-api/permission.mdx#mssql-create-select-permission-syntax)                                                | 1         | Specify select permission for an MS SQL Server table/view                                                                                       |
| [mssql_drop_select_permission](/api-reference/metadata-api/permission.mdx#mssql-drop-select-permission)                                                    | [mssql_drop_select_permission_args](/api-reference/metadata-api/permission.mdx#mssql-drop-select-permission-syntax)                                                    | 1         | Remove existing select permission for an MS SQL Server table/view                                                                               |
| [mssql_create_update_permission](/api-reference/metadata-api/permission.mdx#mssql-create-update-permission)                                                | [mssql_create_update_permission_args](/api-reference/metadata-api/permission.mdx#mssql-create-update-permission-syntax)                                                | 1         | Specify update permission for an MS SQL Server table/view                                                                                       |
| [mssql_drop_update_permission](/api-reference/metadata-api/permission.mdx#mssql-drop-update-permission)                                                    | [mssql_drop_update_permission_args](/api-reference/metadata-api/permission.mdx#mssql-drop-update-permission-syntax)                                                    | 1         | Remove existing update permission for an MS SQL Server table/view                                                                               |
| [mssql_create_delete_permission](/api-reference/metadata-api/permission.mdx#mssql-create-delete-permission)                                                | [mssql_create_delete_permission_args](/api-reference/metadata-api/permission.mdx#mssql-create-delete-permission-syntax)                                                | 1         | Specify delete permission for an MS SQL Server table/view                                                                                       |
| [mssql_drop_delete_permission](/api-reference/metadata-api/permission.mdx#mssql-drop-delete-permission)                                                    | [mssql_drop_delete_permission_args](/api-reference/metadata-api/permission.mdx#mssql-drop-delete-permission-syntax)                                                    | 1         | Remove existing delete permission for an MS SQL Server table/view                                                                               |
| [mssql_set_permission_comment](/api-reference/metadata-api/permission.mdx#mssql-set-permission-comment)                                                    | [mssql_set_permission_comment_args](/api-reference/metadata-api/permission.mdx#mssql-set-permission-comment-syntax)                                                    | 1         | Set comment on an existing permission for an MS SQL Server table/view                                                                           |
| [mssql_set_apollo_federation_config](/api-reference/metadata-api/table-view.mdx#metadata-mssql-set-apollo-federation-config)                               | [mssql_set_apollo_federation_config_args](/api-reference/metadata-api/table-view.mdx#metadata-mssql-set-apollo-federation-config-syntax)                               | 1         | Set Apollo Federation configuration of an already tracked mssql table                                                                           |
| [mssql_track_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-track-logical-model)                                             | [mssql_track_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-track-logical-model-syntax)                                             | 1         | Add a Logical Model                                                                                                                             |
| [mssql_untrack_logical_model](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-untrack-logical-model)                                         | [mssql_untrack_logical_model_args](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-untrack-logical-model-syntax)                                         | 1         | Remove a Logical Model                                                                                                                          |
| [mssql_create_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-create-logical-model-select-permission)       | [mssql_create_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-create-logical-model-select-permission-syntax)       | 1         | Add select permissions for a Logical Model                                                                                                      |
| [mssql_drop_logical_model_select_permission](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-drop-logical-model-select-permission)           | [mssql_drop_logical_model_select_permission_args](/api-reference/metadata-api/logical-models.mdx#metadata-mssql-drop-logical-model-select-permission-syntax)           | 1         | Remove select permissions for a Logical Model                                                                                                   |
| [mssql_track_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-mssql-track-native-query)                                               | [mssql_track_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-mssql-track-native-query-syntax)                                               | 1         | Add a Native Query                                                                                                                              |
| [mssql_untrack_native_query](/api-reference/metadata-api/native-queries.mdx#metadata-mssql-untrack-native-query)                                           | [mssql_untrack_native_query_args](/api-reference/metadata-api/native-queries.mdx#metadata-mssql-untrack-native-query-syntax)                                           | 1         | Remove a Native Query                                                                                                                           |
| [create_cron_trigger](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-create-cron-trigger)                                                     | [create_cron_trigger_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-create-cron-trigger-syntax)                                                     | 1         | Create a cron trigger                                                                                                                           |
| [delete_cron_trigger](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-delete-cron-trigger)                                                     | [delete_cron_trigger_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-delete-cron-trigger-syntax)                                                     | 1         | Delete an existing cron trigger                                                                                                                 |
| [get_cron_triggers](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-get-cron-triggers)                                                         | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 1         | Returns all the cron triggers                                                                                                                   |
| [get_scheduled_events](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-get-scheduled-events)                                                   | [get_scheduled_events_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-get-scheduled-events-syntax)                                                   | 1         | API to fetch scheduled events                                                                                                                   |
| [get_scheduled_event_invocations](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-get-scheduled-event-invocations)                             | [get_scheduled_event_invocations_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-get-scheduled-event-invocations-syntax)                             | 1         | API to fetch scheduled event's invocations                                                                                                      |
| [create_scheduled_event](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-create-scheduled-event)                                               | [create_scheduled_event_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-create-scheduled-event-syntax)                                               | 1         | Create a new scheduled event                                                                                                                    |
| [delete_scheduled_event](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-delete-scheduled-event)                                               | [delete_scheduled_event_args](/api-reference/metadata-api/scheduled-triggers.mdx#metadata-delete-scheduled-event-syntax)                                               | 1         | Delete a scheduled event                                                                                                                        |
| [cleanup_event_trigger_logs](/api-reference/metadata-api/event-triggers.mdx#metadata-cleanup-event-trigger-logs)                                           | [cleanup_event_trigger_logs_args](/api-reference/metadata-api/event-triggers.mdx#metadata-cleanup-event-trigger-logs-syntax)                                           | 1         | Manually delete Event Trigger logs                                                                                                              |
| [resume_event_trigger_cleanups](/api-reference/metadata-api/event-triggers.mdx#metadata-resume-event-trigger-cleanups)                                     | [resume_event_trigger_cleanups_args](/api-reference/metadata-api/event-triggers.mdx#metadata-resume-event-trigger-cleanups-syntax)                                     | 1         | Resume log cleaner for Event Triggers                                                                                                           |
| [pause_event_trigger_cleanups](/api-reference/metadata-api/event-triggers.mdx#metadata-pause-event-trigger-cleanups)                                       | [pause_event_trigger_cleanups_args](/api-reference/metadata-api/event-triggers.mdx#metadata-pause-event-trigger-cleanups-syntax)                                       | 1         | Pause log cleaner for Event Triggers                                                                                                            |
| [add_remote_schema](/api-reference/metadata-api/remote-schemas.mdx#metadata-add-remote-schema)                                                             | [add_remote_schema_args](/api-reference/metadata-api/remote-schemas.mdx#metadata-add-remote-schema-syntax)                                                             | 1         | Add a remote GraphQL server as a Remote Schema                                                                                                  |
| [update_remote_schema](/api-reference/metadata-api/remote-schemas.mdx#metadata-update-remote-schema)                                                       | [update_remote_schema_args](/api-reference/metadata-api/remote-schemas.mdx#metadata-update-remote-schema-syntax)                                                       | 1         | Update the details for a Remote Schema                                                                                                          |
| [remove_remote_schema](/api-reference/metadata-api/remote-schemas.mdx#metadata-remove-remote-schema)                                                       | [remove_remote_schema_args](/api-reference/metadata-api/remote-schemas.mdx#metadata-remove-remote-schema-syntax)                                                       | 1         | Remove an existing Remote Schema                                                                                                                |
| [reload_remote_schema](/api-reference/metadata-api/remote-schemas.mdx#metadata-reload-remote-schema)                                                       | [reload_remote_schema_args](/api-reference/metadata-api/remote-schemas.mdx#metadata-reload-remote-schema-syntax)                                                       | 1         | Reload schema of an existing Remote Schema                                                                                                      |
| [add_remote_schema_permissions](/api-reference/metadata-api/remote-schema-permissions.mdx#metadata-add-remote-schema-permissions)                          | [add_remote_schema_permissions](/api-reference/metadata-api/remote-schema-permissions.mdx#metadata-add-remote-schema-permissions-syntax)                               | 1         | Add permissions to a role of an existing Remote Schema                                                                                          |
| [drop_remote_schema_permissions](/api-reference/metadata-api/remote-schema-permissions.mdx#metadata-drop-remote-schema-permissions)                        | [drop_remote_schema_permissions](/api-reference/metadata-api/remote-schema-permissions.mdx#metadata-drop-remote-schema-permissions-syntax)                             | 1         | Drop existing permissions defined for a role for a Remote Schema                                                                                |
| [pg_create_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-create-remote-relationship)                               | [pg_create_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-create-remote-relationship-syntax)                               | 1         | Create a remote relationship on a Postgres table                                                                                                |
| [pg_update_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-update-remote-relationship)                               | [pg_update_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-update-remote-relationship-syntax)                               | 1         | Update an existing remote relationship                                                                                                          |
| [pg_delete_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-delete-remote-relationship)                               | [pg_delete_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-pg-delete-remote-relationship-syntax)                               | 1         | Delete an existing remote relationship                                                                                                          |
| [citus_create_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-create-remote-relationship)                         | [citus_create_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-create-remote-relationship-syntax)                         | 1         | Create a remote relationship on a citus table                                                                                                   |
| [citus_update_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-update-remote-relationship)                         | [citus_update_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-update-remote-relationship-syntax)                         | 1         | Update an existing remote relationship                                                                                                          |
| [citus_delete_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-delete-remote-relationship)                         | [citus_delete_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-citus-delete-remote-relationship-syntax)                         | 1         | Delete an existing remote relationship                                                                                                          |
| [mssql_create_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-create-remote-relationship)                         | [mssql_create_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-create-remote-relationship-syntax)                         | 1         | Create a remote relationship on an mssql table                                                                                                  |
| [mssql_update_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-update-remote-relationship)                         | [mssql_update_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-update-remote-relationship-syntax)                         | 1         | Update an existing remote relationship                                                                                                          |
| [mssql_delete_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-delete-remote-relationship)                         | [mssql_delete_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-mssql-delete-remote-relationship-syntax)                         | 1         | Delete an existing remote relationship                                                                                                          |
| [bigquery_create_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-create-remote-relationship)                   | [bigquery_create_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-create-remote-relationship-syntax)                   | 1         | Create a remote relationship on a bigquery table                                                                                                |
| [bigquery_update_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-update-remote-relationship)                   | [bigquery_update_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-update-remote-relationship-syntax)                   | 1         | Update an existing remote relationship                                                                                                          |
| [bigquery_delete_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-delete-remote-relationship)                   | [bigquery_delete_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-bigquery-delete-remote-relationship-syntax)                   | 1         | Delete an existing remote relationship                                                                                                          |
| [create_remote_schema_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-create-remote-schema-remote-relationship)         | [create_remote_schema_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-create-remote-schema-remote-relationship-syntax)         | 1         | Create a remote relationship on a Remote Schema's type                                                                                          |
| [update_remote_schema_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-update-remote-schema-remote-relationship)         | [update_remote_schema_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-update-remote-schema-remote-relationship-syntax)         | 1         | Update an existing remote relationship on a Remote Schema's type                                                                                |
| [delete_remote_schema_remote_relationship](/api-reference/metadata-api/remote-relationships.mdx#metadata-delete-remote-schema-remote-relationship)         | [delete_remote_schema_remote_relationship_args](/api-reference/metadata-api/remote-relationships.mdx#metadata-delete-remote-schema-remote-relationship-syntax)         | 1         | Delete an existing remote relationship on a Remote Schema's type                                                                                |
| [export_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-export-metadata)                                                                | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 1         | Export the current Metadata                                                                                                                     |
| [export_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-export-metadata)                                                                | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 2         | Export existing Metadata with resource version included.                                                                                        |
| [replace_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-replace-metadata)                                                              | [replace_metadata_args](/api-reference/metadata-api/manage-metadata.mdx#metadata-replace-metadata-syntax)                                                              | 1         | Import and replace existing Metadata                                                                                                            |
| [replace_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-replace-metadata)                                                              | [replace_metadata_args](/api-reference/metadata-api/manage-metadata.mdx#metadata-replace-metadata-syntax)                                                              | 2         | Replace existing Metadata with check against current resource_version.                                                                          |
| [reload_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-reload-metadata)                                                                | [reload_metadata_args](/api-reference/metadata-api/manage-metadata.mdx#metadata-reload-metadata-syntax)                                                                | 1         | Reload changes to the underlying Postgres DB                                                                                                    |
| [clear_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-clear-metadata)                                                                  | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 1         | Clear/wipe-out the current Metadata state form server                                                                                           |
| [get_inconsistent_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-get-inconsistent-metadata)                                            | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 1         | List all inconsistent Metadata objects                                                                                                          |
| [drop_inconsistent_metadata](/api-reference/metadata-api/manage-metadata.mdx#metadata-drop-inconsistent-metadata)                                          | [Empty Object](/api-reference/syntax-defs.mdx#empty-object)                                                                                                            | 1         | Drop all inconsistent Metadata objects                                                                                                          |
| [create_query_collection](/api-reference/metadata-api/query-collections.mdx#metadata-create-query-collection)                                              | [create_query_collection_args](/api-reference/metadata-api/query-collections.mdx#metadata-create-query-collection-syntax)                                              | 1         | Create a query collection                                                                                                                       |
| [rename_query_collection](/api-reference/metadata-api/query-collections.mdx#metadata-rename-query-collection)                                              | [rename_query_collection_args](/api-reference/metadata-api/query-collections.mdx#metadata-rename-query-collection-syntax)                                              | 1         | Rename a query collection                                                                                                                       |
| [drop_query_collection](/api-reference/metadata-api/query-collections.mdx#metadata-drop-query-collection)                                                  | [drop_query_collection_args](/api-reference/metadata-api/query-collections.mdx#metadata-drop-query-collection-syntax)                                                  | 1         | Drop a query collection                                                                                                                         |
| [add_query_to_collection](/api-reference/metadata-api/query-collections.mdx#metadata-add-query-to-collection)                                              | [add_query_to_collection_args](/api-reference/metadata-api/query-collections.mdx#metadata-add-query-to-collection-syntax)                                              | 1         | Add a query to a given collection                                                                                                               |
| [drop_query_from_collection](/api-reference/metadata-api/query-collections.mdx#metadata-drop-query-from-collection)                                        | [drop_query_from_collection_args](/api-reference/metadata-api/query-collections.mdx#metadata-drop-query-from-collection-syntax)                                        | 1         | Drop a query from a given collection                                                                                                            |
| [add_collection_to_allowlist](/api-reference/metadata-api/query-collections.mdx#metadata-add-collection-to-allowlist)                                      | [add_collection_to_allowlist_args](/api-reference/metadata-api/query-collections.mdx#metadata-add-collection-to-allowlist-syntax)                                      | 1         | Add a collection to the allow-list                                                                                                              |
| [drop_collection_from_allowlist](/api-reference/metadata-api/query-collections.mdx#metadata-drop-collection-from-allowlist)                                | [drop_collection_from_allowlist_args](/api-reference/metadata-api/query-collections.mdx#metadata-drop-collection-from-allowlist-syntax)                                | 1         | Drop a collection from the allow-list                                                                                                           |
| [set_custom_types](/api-reference/metadata-api/custom-types.mdx#metadata-set-custom-types)                                                                 | [set_custom_types_args](/api-reference/metadata-api/custom-types.mdx#metadata-set-custom-types-syntax)                                                                 | 1         | Set custom GraphQL types                                                                                                                        |
| [create_action](/api-reference/metadata-api/actions.mdx#metadata-create-action)                                                                            | [create_action_args](/api-reference/metadata-api/actions.mdx#metadata-create-action-syntax)                                                                            | 1         | Create an action                                                                                                                                |
| [drop_action](/api-reference/metadata-api/actions.mdx#metadata-drop-action)                                                                                | [drop_action_args](/api-reference/metadata-api/actions.mdx#metadata-drop-action-syntax)                                                                                | 1         | Drop an action                                                                                                                                  |
| [update_action](/api-reference/metadata-api/actions.mdx#metadata-update-action)                                                                            | [update_action_args](/api-reference/metadata-api/actions.mdx#metadata-update-action-syntax)                                                                            | 1         | Update an action                                                                                                                                |
| [create_action_permission](/api-reference/metadata-api/actions.mdx#metadata-create-action-permission)                                                      | [create_action_permission_args](/api-reference/metadata-api/actions.mdx#metadata-create-action-permission-syntax)                                                      | 1         | Create an action permission                                                                                                                     |
| [drop_action_permission](/api-reference/metadata-api/actions.mdx#metadata-drop-action-permission)                                                          | [drop_action_permission_args](/api-reference/metadata-api/actions.mdx#metadata-drop-action-permission-syntax)                                                          | 1         | Drop an action permission                                                                                                                       |
| [create_rest_endpoint](/api-reference/metadata-api/restified-endpoints.mdx#metadata-create-rest-endpoint)                                                  | [create_rest_endpoint_args](/api-reference/metadata-api/restified-endpoints.mdx#metadata-create-rest-endpoint-syntax)                                                  | 1         | Create a RESTified GraphQL Endpoint                                                                                                             |
| [drop_rest_endpoint](/api-reference/metadata-api/restified-endpoints.mdx#metadata-drop-rest-endpoint)                                                      | [drop_rest_endpoint_args](/api-reference/metadata-api/restified-endpoints.mdx#metadata-drop-rest-endpoint-syntax)                                                      | 1         | Drop a RESTified GraphQL Endpoint                                                                                                               |
| [add_inherited_role](/api-reference/metadata-api/inherited-roles.mdx#metadata-add-inherited-role)                                                          | [add_inherited_role_args](/api-reference/metadata-api/inherited-roles.mdx#metadata-add-inherited-role-syntax)                                                          | 1         | Add an inherited role                                                                                                                           |
| [drop_inherited_role](/api-reference/metadata-api/inherited-roles.mdx#metadata-drop-inherited-role)                                                        | [drop_inherited_role_args](/api-reference/metadata-api/inherited-roles.mdx#metadata-drop-inherited-role-syntax)                                                        | 1         | Drop an inherited role                                                                                                                          |
| [set_graphql_introspection_options](/api-reference/metadata-api/introspection.mdx#metadata-set-graphql-introspection-options)                              | [set_graphql_schema_introspection_options_args](/api-reference/metadata-api/introspection.mdx#metadata-set-graphql-schema-introspection-options-syntax)                | 1         | Set graphql introspection options                                                                                                               |
| [add_host_to_tls_allowlist](/api-reference/metadata-api/network.mdx#metadata-add-host-to-tls-allowlist)                                                    | [add_host_to_tls_allowlist_args](/api-reference/metadata-api/network.mdx#add-host-to-tls-allowlist-syntax)                                                             | 1         | Add an endpoint to the TLS Allowlist                                                                                                            |
| [drop_host_from_tls_allowlist](/api-reference/metadata-api/network.mdx#metadata-drop-host-from-tls-allowlist)                                              | [drop_host_from_tls_allowlist_args](/api-reference/metadata-api/network.mdx#drop-host-from-tls-allowlist-syntax)                                                       | 1         | Drop an endpoint from the TLS Allowlist                                                                                                         |

</div>

<!--

TODO: MSSQL_UNSUPPORTED
| `mssql_set_table_is_enum`                                                         | `mssql_set_table_is_enum_args <mssql_set_table_is_enum_syntax>`                                            | 1         | Set a tracked MS SQL Server table as an enum table                     |
| `mssql_track_function`                                                            | `mssql_track_function_args <mssql_track_function_syntax>`                                                  | 1         | Add an MS SQL Server SQL function with configuration                   |
| `mssql_untrack_function`                                                          | `FunctionName <FunctionName>`                                                                              | 1         | Remove an MS SQL Server SQL function                                   |
| `mssql_create_function_permission`                                                | `mssql_create_function_permission_args <mssql_create_function_permission_syntax>`                          | 1         | Create an MS SQL Server function permission                            |
| `mssql_drop_function_permission`                                                  | `mssql_drop_function_permission_args <mssql_drop_function_permission_syntax>`                              | 1         | Drop an existing MS SQL Server function permission                     |
| `mssql_add_computed_field`                                                        | `mssql_add_computed_field_args <mssql_add_computed_field_syntax>`                                          | 1         | Add a computed field to an MS SQL Server table/view                    |
| `mssql_drop_computed_field`                                                       | `mssql_drop_computed_field_args <mssql_drop_computed_field_syntax>`                                        | 1         | Drop an MS SQL Server computed field                                   |
| `mssql_create_event_trigger`                                                      | `mssql_create_event_trigger_args <mssql_create_event_trigger_syntax>`                                      | 1         | Create or replace an Event Trigger on an MS SQL Server table           |
| `mssql_delete_event_trigger`                                                      | `mssql_delete_event_trigger_args <mssql_delete_event_trigger_syntax>`                                      | 1         | Delete an existing Event Trigger on an MS SQL Server table             |
| `mssql_redeliver_event`                                                           | `mssql_redeliver_event_args <mssql_redeliver_event_syntax>`                                                | 1         | Redeliver an existing event on an MS SQL Server table                  |
| `mssql_invoke_event_trigger`                                                      | `mssql_invoke_event_trigger_args <mssql_invoke_event_trigger_syntax>`                                      | 1         | Invoke a trigger with custom payload on an MS SQL Server table         |

-->

**See:**

- [Tables/Views](/api-reference/metadata-api/table-view.mdx)
- [Custom SQL Functions](/api-reference/metadata-api/custom-functions.mdx)
- [Relationships](/api-reference/metadata-api/relationship.mdx)
- [Computed Fields](/api-reference/metadata-api/computed-field.mdx)
- [Permissions](/api-reference/metadata-api/permission.mdx)
- [Inherited Roles](/api-reference/metadata-api/inherited-roles.mdx)
- [Remote Schema Permissions](/api-reference/metadata-api/remote-schema-permissions.mdx)
- [Event Triggers](/api-reference/metadata-api/event-triggers.mdx)
- [Remote Schemas](/api-reference/metadata-api/remote-schemas.mdx)
- [Query Collections](/api-reference/metadata-api/query-collections.mdx)
- [Custom Types](/api-reference/metadata-api/custom-types.mdx)
- [Actions](/api-reference/metadata-api/actions.mdx)
- [Manage Metadata](/api-reference/metadata-api/manage-metadata.mdx)

## Response structure

| Status code | Description           | Response structure                     |
| ----------- | --------------------- | -------------------------------------- |
| 200         | Success               | Request specific                       |
| 400         | Bad request           | `{ "path" : String, "error" : String}` |
| 401         | Unauthorized          | `{"error" : String}`                   |
| 500         | Internal server error | `{"error" : String}`                   |

## Disabling Metadata API

Since this API can be used to make changes to the GraphQL schema, it can be disabled, especially in production
deployments.

The `enabled-apis` flag or the `HASURA_GRAPHQL_ENABLED_APIS` env var can be used to enable/disable this API. By default,
the schema/Metadata API is enabled. To disable it, you need to explicitly state that this API is not enabled i.e. remove
it from the list of enabled APIs.

```bash
# enable only graphql api, disable Metadata and pgdump
--enabled-apis="graphql"
HASURA_GRAPHQL_ENABLED_APIS="graphql"
```

See [GraphQL Engine server config reference](/deployment/graphql-engine-flags/reference.mdx) for info on setting the
above flag/env var.

## Metadata Resource Versioning

Metadata is versioned with an optional `resource_version` field in operations and responses.

This is intended to allow for feedback when replacing Metadata with modifications to an out-of-date copy.

The `resource_version` supplied must match the version returned otherwise a 409 error response is returned.

The version is incremented on any operation that modified Metadata as well as `reload_metadata`.
